﻿using System;
using System.Collections.Generic;

namespace OhioState.Graphics
{
    public interface IFrameBufferObject
    {
        IDepthBuffer DepthBuffer { get; }
        FrameBufferClear ClearFlags { get; }
        void Disable(IRenderPanel panel);
        void Enable(IRenderPanel panel);
        IList<ITexture> Textures { get; }
    }

    [Serializable()]
    /// <summary>
    /// Bit-fields indicating whether the color and depth buffers should be cleared.
    /// </summary>
    [Flags]
    public enum FrameBufferClear
    {
        /// <summary>
        /// The Color attachments
        /// </summary>
        Color = 0x01,
        /// <summary>
        /// The Depth and Stencil planes 
        /// </summary>
        Depth = 0x02
    };
}
